The present invention relates to a digital servo control method, digital servo controller, storage device, and head position control method for reading analog observation signals of the control target, performing digital processing, and generating control signals for the control target.
Servo controllers for servo-controlling a control target are widely used. Servo controllers are divided into analog servo controllers and digital servo controllers. An analog servo controller has many components, and a change in characteristics tends to occur due to the dispersion of characteristics of the components and age deterioration.
A digital servo controller, which performs digital processing using a processor, has fewer components, has an advantage in cost, has almost no characteristic changes, and allows characteristic resetting by rewriting the program. Therefore today digital servo controllers are used everywhere.
FIG. 29 is a block diagram depicting a conventional digital servo controller, and FIG. 30 is a block diagram depicting the processing of DSP thereof. FIG. 29 is a diagram depicting a configuration of a digital servo controller of a disk device where the observation signals for control are analog signals.
In FIG. 29, 15 are analog observation signals, such as head position information and acceleration information, and 10 is an A/D converter for converting analog signals into digital signals. 16 are digital observation signals converted by the A/D converter 10, and 11 is a DSP (Digital Signal Processor) which performs operations according to the program which has been set in advance. 17 are digital control signals for determining current to drive the head, and 12 is a D/A converter for converting digital signals into analog signals. 18 are analog control signals converted by the D/A converter 12, 14 is an amplifier for flowing predetermined current to the drive device of the head according to the voltage of the analog control signals, and 19 is a head drive current which flows to the head actuator.
Operation of the digital servo controller will now be described with reference to the processing blocks of the DSP 11 in FIG. 30. At first, the analog observation signals 15 are converted into the digital observation signals 16 by the A/D converter 10 at a certain computation period Ts. Then the DSP 11 performs processing in FIG. 30. In other words, the control signal 17 is computed by the following output equation and state equation.
Output equation: yd[k]=Cxc2x7x[k]+Dxc2x7ud[k]xe2x80x83xe2x80x83(1)
State equation: x[k+1]=Axc2x7x[k]+Bxc2x7ud[k]xe2x80x83xe2x80x83(2)
Here ud[k]: an observation signal to be input to the controller 13,
yd[k]: a control signal to be output to the amplifier 14,
x[k]: an internal variable called a xe2x80x9cstate variablexe2x80x9d,
A, B, C, D: constant matrixes (set in advance),
k: a parameter to indicate the sampling time, which is k=0 at the start of control, and increases as k=1, 2, 3, . . . at each computation period Ts.
In other words, the DSP 11 calculates the above mentioned output equation (Formula 1) from the digital observation signal 16 and the Cxc2x7x[k], which has been calculated at the previous computation period, and determines the digital control signal 17. Then the D/A converter 12 converts the digital control signal 17 into the analog control signal 18, outputs the analog control signal 18 to the amplifier 14 to be the drive current 19 of the head. Finally, the DSP 11 calculates the above mentioned state equation (Formula 2) from the digital control signal 16 and the internal variable x[k], determines x[k+1] to derive Cxc2x7x[k+1] that is used at the next computation period.
By repeatedly executing the above operation at each computation period Ts, the position and the speed of the head are controlled according to the observation signal.
For the equation to implement the servo control system by a processor, a method for using a transfer function for internal processing of the DSP is available, in addition to the above mentioned method for using the state equation. FIG. 31 shows a block diagram depicting the internal processing of the DSP 11 when the following transfer function (Formula 3) is used.                                           y            ⁡                          (              z              )                                            u            ⁡                          (              z              )                                      =                                                                              α                  0                                ·                                  z                  ⋀                                            ⁢              n                        +                                          α                1                            ·                                                z                  ⋀                                ⁡                                  (                                      n                    -                    1                                    )                                                      +            ⋯            +                                                            α                                      n                    -                    2                                                  ·                                  z                  ⋀                                            ⁢              1                        +                          α                              n                -                1                                                                                        z                ⋀                            ⁢              m                        +                                          β                1                            ·                                                z                  ⋀                                ⁡                                  (                                      m                    -                    1                                    )                                                      +            …            +                                                            β                                      m                    -                    2                                                  ·                                  z                  ⋀                                            ⁢              1                        +                          β                              m                -                1                                                                        (        3        )            
In the formula (3), y(z): a control signal to be output to the amplifier 14, u(z): an observation signal to be input from the A/D converter 10, xcex1i, xcex2i: constants, n, m: arbitrary integers, and z: a discrete time operator.
In the case of using this transfer function as well, in the digital controller in FIG. 29, the analog observation signal 15 is converted into the digital observation signal 16 by the A/D converter 10 at each predetermined computation period Ts. Then the DSP 11 calculates the above Formula (3) based on the digital observation signal 16, and determines the digital control signal 17. Then the digital control signal 17 is converted into the analog control signal 18 by the D/A converter 12, and the analog control signal 18 is output to the amplifier 14 to be the drive current 19 of the head.
Compared with an analog servo controller, which is composed only of such analog electric circuits as resistors and capacitors, this digital servo controller has such advantages as (1) the analog controller is comprised of many components, and is high in cost compared with a digital controller, (2) characteristic changes occur easily in the analog controller due to the dispersion of characteristics of the components and age deterioration, but such characteristic changes do not occur in a digital controller, and (3) with a digital controller, the characteristics of the controller can be reset by merely rewriting the program of the DSP, so the digital controller is flexible.
However, as FIG. 32 shows, the delay time (xcfx84+Ts/2) on average where Ts is the operation period of the DSP 11 and xcfx84 is the operation time from when the observation signal is detected to the output signal, is always generated in the digital servo controller, compared with an analog controller. The cause thereof will be described below.
For the term of xcfx84, in the case of the Formula (1), the second term Dxc2x7ud[k] of the Formula (1) is called the xe2x80x9cdirect termxe2x80x9d, and is supposed to be reflected to the control signal y without a time difference with respect to the observation signal u. In the case of a digital controller, however, the control signal is output by the steps of [converting the observation signal u into a digital signal]xe2x86x92[operation by DSP]xe2x86x92[converting the control signal y into an analog signal]. Therefore time xcfx84, required for this processing, becomes the delay time.
For the term of Ts/2, in the digital controller, the analog control signal y(t), which is output at a certain time t, is held at a predetermined value during the operation period Ts of the DSP, so the analog control signal y(t) is not updated until (t+Ts). Therefore compared with an analog controller, which is sequentially updated according to the observation signal, the digital controller delays only for the operation time xcfx84 immediately after output, but delays xcfx84+Ts at a point immediately before update. As a consequence, the delay time Ts/2 on average is generated.
In conventional control fields, delay time, which the digital controller has, has not been a major problem. This is because demand for control accuracy is not very high, and even an inexpensive DSP can implement operation period Ts and operation delay time xcfx84, which are sufficiently short for the required precision.
Recently, however, high precision control is demanded for an inexpensive DSP which operation speed is relatively slow. For example, in the field of disk devices, very high precision control is demanded as the recording density increases. In a 20 GB optical disk, for example, the track pitch is about 0.5 xcexcm, so a follow up control with about a 0.05 xcexcm margin is demanded. Additionally, configuring a digital controller with an inexpensive DSP, which operation speed is slow, is also demanded to be successful in the low price competition among disk devices, so the delay time which occurs in digital control now cannot be ignored.
A solution method for the delay which occurs in digital control has been proposed in Japanese Patent Laid-open 10-149553, for example. This proposal is a method for separating the observation signal for control into a high frequency area component and a low frequency area component using a high pass filter and a low pass filter comprised of analog circuits, then performing gain adjustment and phase compensation by analog control for the high frequency area component, and by digital control using DSP for the low frequency area component, so as to decrease the phase delay caused by the processing of DSP.
This method, however, requires many analog circuits, such as a high pass filter, low pass filter, gain adjustment circuit, and phase compensation circuit, which is very disadvantageous in terms of cost.
Also in control, where attenuating the unnecessary resonance of the control target is important, the method of processing the high frequency area, where unnecessary resonance occurs frequently, by analog control, loses many of the merits acquired by using a digital controller (no characteristic changes, flexibility). In other words, in analog processing, considering characteristic changes depending on the individual component and due to age deterioration, as mentioned above, performing analog processing for a high frequency area where unnecessary resonance frequently occurs takes time to implement adjustments to suppress resonance, and it is difficult to suppress resonance due to age deterioration. Also there is no flexibility, so an analog circuit must be designed individually for each control target for which the resonance point is different.
With the foregoing in view, it is an object of the present invention to provide a digital servo control method, digital servo controller, storage device, and head position control method for performing high precision control by an inexpensive processor by decreasing the control delay caused by digital processing.
It is another object of the present invention to provide a digital servo control method, digital servo controller, storage device, and head position control method for performing high precision control by an inexpensive processor, decreasing the control delay caused by digital processing while maintaining the advantage of digital control.
It is still another object of the present invention to provide a digital servo control method, digital servo controller, storage device and head position control method by an inexpensive processor, decreasing the control delay caused by digital processing while attenuating unnecessary resonance with an inexpensive configuration.
To achieve these objects, one aspect of the present invention is a digital servo control method for receiving an analog observation signal ud from a control target and generating a control signal to servo-control the control target using the following output equation and state equation, comprising a step of multiplying the analog observation signal u(t) by D using an analog amplifier, a step of converting the analog observation signal u(t) into digital observation signal ud[k] by an A/D converter at each operation period Ts, calculating the above mentioned state equation by a processor, and calculating Cxc2x7x[k+1] of the above mentioned output equation based on the result x[k+1] of the calculation of the state equation, a step of outputting the calculated value of Cxc2x7x[k+1] to a D/A converter at a point when Ts/2 has elapsed since the analog observation signal u(t) is observed, and a step of adding the above mentioned analog observation signal multiplied by D and the output of the D/A converter, and outputting the control signal y(t).
Output equation: yd[k]=Cxc2x7x[k+1]+Dxc2x7ud[k]
xe2x80x83State equation: x[k+1]=Axc2x7x[k]+Bxc2x7ud[k]
Here, ud [k]: an observation signal to be input, yd[k]: a control signal to be output, x[k]: a state variable, A, B, C, D: a constant matrixes, and k: a parameter to indicate a sampling time.
In this aspect of the present invention, the second term Dxc2x7ud[k] (hereafter called the direct term) of the output equation is output by the analog circuit, and the first term Cxc2x7x[k] is output earlier for only Ts/2, so the average delay time of a respective signal can be 0, the delay caused by digital processing can be prevented, and high precision digital control by an inexpensive processor. becomes possible.
Another aspect of the present invention is a digital servo control method for receiving an analog observation signal ud from a control target, and generating control signals to servo-control the control target using a following output equation and state equation, comprising a step of converting the analog observation signal u(t) into a digital signal by an A/D converter at each operation period Ts/N (N is a 2 or higher natural number), and calculating Dxc2x7ud[k] of the following output equation by a processor, a step of calculating the following state equation at each operation period Ts by a processor, and calculating Cxc2x7x[k+1] of the following output equation based on the result x[k+1] of the calculation of the state equation, a step of calculating the control signal yd[k] each time the above Dxc2x7ud[k] and Cxc2x7x[k+1] are updated, and a step of outputting the calculated yd[k] to a D/A converter and outputting the analog control signal y(t).
Output equation: yd[k]=Cxc2x7x[k]+Dxc2x7ud[k]
State equation: x[k+1]=Axc2x7x[k]+Bxc2x7ud[k]
Here, ud[k]: an observation signal to be input, yd[k]: a control signal to be output, x[k]: a state variable, A, B, C, D: constant matrixes, and k: a parameter to indicate sampling time.
In this aspect of the present invention, the direct term of the output equation is executed at Ts/N period (N is a 2 or higher natural number) which is 1/N of the basic operation period Ts, and the first term of the output equation is updated with the same delay time as the average delay time Ts/(2N), which is the direct term has, thereby the average delay time of the control signals can be xcfx84+Ts/(2N), delay caused by digital processing can be decreased, and high precision digital control by an inexpensive processor becomes possible.
Still another aspect of the present invention is a digital servo control method comprising a step of converting the analog observation signal into a digital observation signal u[z] by an A/D converter at each operation period Ts, calculating the terms other than the term xcex10 of the following transfer equation by a processor, and outputting the result to a D/A converter, a step of multiplying the analog observation signal by xcex10, and a step of adding the analog observation signal multiplied by xcex10 and the output of the D/A converter, and outputting a control signal y(z).                                           y            ⁡                          (              z              )                                            u            ⁡                          (              z              )                                      =                                                                              α                  0                                ·                                  z                  ⋀                                            ⁢              n                        +                                          α                1                            ·                                                z                  ⋀                                ⁡                                  (                                      n                    -                    1                                    )                                                      +            ⋯            +                                                            α                                      n                    -                    2                                                  ·                                  z                  ⋀                                            ⁢              1                        +                          α                              n                -                1                                                                                        z                ⋀                            ⁢              m                        +                                          β                1                            ·                                                z                  ⋀                                ⁡                                  (                                      m                    -                    1                                    )                                                      +            …            +                                                            β                                      m                    -                    2                                                  ·                                  z                  ⋀                                            ⁢              1                        +                          β                              m                -                1                                                                        (        3        )            
(where y(z) is a control signal to be output to the amplifier 6, u(z) is an observation signal to be input from the A/D converter, xcex1i and xcex2i are constants, n and m are arbitrary integers, and z is a discrete time operator.)
In this aspect of the present invention, only the term xcex10 of the equation based on the transfer function is implemented by an analog circuit, and the operation results of the other terms are output earlier for Ts/2 compared with a conventional method, and both results are added by the analog circuit. By this, the delay time xcfx84+Ts/2, which occurs in a conventional digital controller, can be 0.
Now the term xcex10 and the other terms will be separately described.
Term xcex10: In a conventional method, the term xcex10 is processed in the operation by DSP, so the delay time xcfx84+Ts/2 occurs, but the delay time does not occur since the processing of the term xcex10 is implemented by the analog circuit.
Other terms: Terms other than xcex10 are calculated based on the observation signals in the past and the control signals in the past. Therefore the calculation results of these terms can be output earlier for Tsxe2x88x92[operation time] at the maximum. So by outputting the calculation result earlier for Ts/2 compared with a conventional method, the delay time can be 0.
Since the delay time of the term xcex10 and the other terms are 0, the delay time of the control output when both are added by the analog circuit can also be 0. Therefore an integration circuit and differentiation circuit are not required, unlike an analog controller, and only an amplification circuit and addition circuit are required, so cost can be low, and also the major part of the controller is implemented by a digital controller, so flexibility is not lost.
In another aspect of the present invention, the above mentioned output step is further comprised of a step of performing calculation for all the terms other than the term xcex10, by the processor.
Another aspect of the present invention is a digital servo control method for receiving an analog observation signal from a control target and generating a control signal to servo-control the control target using the following transfer equation, comprising a step of converting the analog observation signal into a digital signal by an A/D converter at each operation period Ts/N (N is a 2 or higher natural number), and calculating the term xcex10 of the following transfer equation by a processor, a step of calculating terms other than the term of xcex10 of the following transfer equation at each operation period Ts, and a step of adding the calculation result of the term xcex10 and the calculation result of terms other than the term xcex10 at the Ts/N period, outputting the result to a D/A converter, and outputting an analog control signal y(z).                                           y            ⁡                          (              z              )                                            u            ⁡                          (              z              )                                      =                                                                              α                  0                                ·                                  z                  ⋀                                            ⁢              n                        +                                          α                1                            ·                                                z                  ⋀                                ⁡                                  (                                      n                    -                    1                                    )                                                      +            ⋯            +                                                            α                                      n                    -                    2                                                  ·                                  z                  ⋀                                            ⁢              1                        +                          α                              n                -                1                                                                                        z                ⋀                            ⁢              m                        +                                          β                1                            ·                                                z                  ⋀                                ⁡                                  (                                      m                    -                    1                                    )                                                      +            …            +                                                            β                                      m                    -                    2                                                  ·                                  z                  ⋀                                            ⁢              1                        +                          β                              m                -                1                                                                        (        3        )            
(where y(z) is a control signal to be output to the amplifier 6, u(z) is an observation signal to be input from the A/D converter, xcex1i and xcex2i are constants, n and m are arbitrary integers, and z is a discrete time operator.)
In this aspect of the present invention, only the term xcex10 of the Formula (3) is calculated at 1/N of the regular period, and the operation results of the other terms are updated synchronizing with the delay time of the term xcex10, so the delay time xcfx84+Ts/2, which occurs in a conventional digital controller, can be xcfx84+Ts/(2N).
Now the term xcex10 and the other terms will be separately described.
Term xcex10: the delay time xcfx84+Ts/2, which occurs in a conventional method, can be xcfx84+Ts/(2N) by multiplying the operation period by 1/N.
Other terms: terms other than xcex10 are calculated based on the observation signals in the past and the control signals in the past. Therefore the calculation results of these terms can be output earlier for Tsxe2x88x92[operation time] at the maximum. So by updating the calculating result synchronizing with the delay time of the term of xcex10, the delay time can be xcfx84+Ts/(2N).
Since the delay time of the term xcex10 and the other terms are xcfx84+Ts/(2N), the delay time of the control output when both are added as well can be xcfx84+Ts/(2N). By calculating the term of xcex10 at a period when the normal period is multiplied by N, the delay time, which was xcfx84+Ts/2 which occurs in a conventional digital controller, can be xcfx84+Ts/(2N).